package com.ruoyi.system.media;


import com.alibaba.fastjson2.annotation.JSONField;

/**
 * CPC卡入口信息文件(DF/EF01)的解码信息
 *
 * @author JerryLu
 * @date 2024/9/26 10:02
 * @return
 */
public class CpcEf01Model {
    /**
     * 入口车型(01-01,1,n)
     */
    @JSONField(ordinal = 1)
    public int nEntyVch = 0;

    /**
     * 车牌号码(02-13,12,s)
     * 车牌信息 (不含颜色)
     * 卡内采用 GB2312 码，如： “京”编码为“BEA9”。
     * 解码时已解码
     */
    @JSONField(ordinal = 2)
    public String cPltData = "";

    /**
     * 车牌颜色(14-14,1,n)
     * 0x00 –蓝色； 0x01–黄色； 0x02 –黑色； 0x03 –白色； 0x04-渐变绿色； 0x05-黄绿双拼色； 0x06-蓝白渐变；0x07～0xFF 保留
     */
    @JSONField(ordinal = 3)
    public int nPltCols = 0;

    /**
     * 入口收费路网号(15-16,2,h)
     * 4位HEX
     * 样例："4100"
     */
    @JSONField(ordinal = 4)
    public String cEntyNet = "1401";

    /**
     * 入口站号(17-18,2,h)
     * 4位HEX
     * 样例："03F5"-郑州南
     */
    @JSONField(ordinal = 5)
    public String cEntyStn = "0000";

    /**
     * 入口道号(19-19,1,n)
     */
    @JSONField(ordinal = 6)
    public int nEntyLan = 0;

    /**
     * 入口时间(20-23,4,t)
     * UNIX时间
     */
    @JSONField(ordinal = 7)
    public long cEntyTim = 0L;

    /**
     * 5.8GHz工作状态(24-24,1,n)
     * 0x01打开; 0x02关闭
     */
    @JSONField(ordinal = 8)
    public int nWorkSts = 0x02;

    /**
     * 流通状态(25-25,1,n)
     * 0x01：封闭式 MTC入口；
     * 0x02：封闭式 MTC出口；
     * 0x10：封闭式自助入口
     */
    @JSONField(ordinal = 9)
    public int nCardStt = 2;

    /**
     * 入口车种(26-26,1,n)
     * 0-普通车； 6-公务车； 8-军警车； 10-紧急车； 12-免费；14-车队； 0～20 内其他：自定义；
     * 21-绿通; 22-联合收割机; 23—抢险救灾； 24－J1专用集装箱车；25－大件；26－应急救援车；27－货车列车或半挂汽车列车;28-J2集装箱车
     */
    @JSONField(ordinal = 10)
    public int nVchClss = 0;

    /**
     * 入口工号(27-29,3,n)
     */
    @JSONField(ordinal = 11)
    public int cEntyOpt = 0;

    /**
     * 入口班次(30-30,1,n)
     */
    @JSONField(ordinal = 12)
    public int nEntySft = 1;

    /**
     * 货车轴数(31-31,1,n)
     */
    @JSONField(ordinal = 13)
    public int nAxisSum = 2;

    /**
     * 货车总重(32-35,4,n)
     * 单位:kg,从入口称重检测系统获取，若为客车或无总重信息时全部填写 0xFF
     */
    @JSONField(ordinal = 14)
    public long cTotWeit = 0;

    /**
     * 核定载重(36-38,3,n)
     * 单位:kg, 无核定载重信息时全部填写 0xFF
     */
    @JSONField(ordinal = 15)
    public int cStdWeit = 0xFFFFFF;

    /**
     * 特殊货车(39-39,1,n)
     * 0x00－本次通行用于大件运输
     * 0x01－非优惠车辆
     * 0x02－绿通
     * 0x03－联合收割机
     * 0x04－集装箱车辆
     * 0xFF－默认
     */
    @JSONField(ordinal = 16)
    public int nOthrBus = 0xFF;
}
